﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A99交换整数变量的值
{
    class Program
    {
        //第一种方式  使用中间变量
        static void Main1(string[] args)
        {
            int a = 5;
            int b = 6;

            int temp = a;
            a = b;
            b = temp;
        }
        //第二种方式  加减法   原理  两个数的和减去其中一个得到另外一个
        static void Main2(string[] args)
        {
            int a = 5;
            int b = 6;
            a = a + b;  //a原来的值不在了,但是可以通过 a-b拿到;
            b = a - b;  //b装的是原来的a
            a = a - b;
        }
        //第三种方式 亦或   原理  两个数异或得到第三个数  他们两两亦或得到另外一个
        static void Main(string[] args)
        {
            int a = 5;
            int b = 6;
            a= a ^ b; //a原来的值不在了,但是可以通过 a^b拿到;
            b= a ^ b; //b装的原来a的值
            a= a ^ b;
        }
    }
}
